From 4308423bdd9722a590c7de096ef3a11124de1e1d Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Wed, 19 Oct 2005 16:07:11 +0100 Subject: [PATCH] pygrub's setup.py relies on distutils.UnixCCompiler.has_function(), which does not exist with python2.2, causing the following build error: make[2]: Entering directory `/home/muli/xen/x86.hg/tools/pygrub' CFLAGS=" -m32 -march=i686" python setup.py build Traceback (most recent call last): File "setup.py", line 15, in ? if cc.has_function("ext2fs_open2"): AttributeError: UnixCCompiler instance has no attribute 'has_function' The following patch gets it to build, but is pretty ugly. A proper fix would be to do the check for ext2fs_open2() in a way that is backward compatible with python2.2. Signed-Off-By: Muli Ben-Yehuda --- tools/pygrub/setup.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/pygrub/setup.py b/tools/pygrub/setup.py index 680535d6cb..43e46762a8 100644 --- a/tools/pygrub/setup.py +++ b/tools/pygrub/setup.py @@ -12,11 +12,14 @@ if os.path.exists("/usr/include/ext2fs/ext2_fs.h"): ext2defines = [] cc = new_compiler() cc.add_library("ext2fs") - if cc.has_function("ext2fs_open2"): - ext2defines.append( ("HAVE_EXT2FS_OPEN2", None) ) - else: - sys.stderr.write("WARNING: older version of e2fsprogs installed, not building full\n") - sys.stderr.write(" disk support for ext2.\n") + try: + if cc.has_function("ext2fs_open2"): + ext2defines.append( ("HAVE_EXT2FS_OPEN2", None) ) + else: + sys.stderr.write("WARNING: older version of e2fsprogs installed, not building full\n") + sys.stderr.write(" disk support for ext2.\n") + except AttributeError: + pass ext2 = Extension("grub.fsys.ext2._pyext2", extra_compile_args = extra_compile_args, -- 2.30.2